package Thread_;

/*
* Thread常用的方法
* 1、start（）：启动线程，并调用run（）
* 2、run（）：线程负责的功能
* 3、currentThread():静态方法。返回执行当前代码的线程
* 4、getName（）：获取当前线程的名字
* 5、setName（）：设置当先线程的名字
* 6、yield（）：释放本次cpu的执行权，但是可能又会被cpu分配执行权（线程让步，将本次分配到的cup时间片让给其他线程）
* 7、join（）：在线程a中调用线程b的join（）方法，调用后，线程a会进入阻塞状态，知道线程b直线完毕，线程a才会继续执行
* 8、stop（）：强制线程结束
* 9、sleep（）：睡眠 （以毫秒为单位）让线程暂停一段时间
* */
public class ThreadMethod {
    public static void main(String[] args) {
        Thread3 thread3 = new Thread3();
        System.out.println(thread3.getName());
        thread3.setName("线程名");
        System.out.println(thread3.getName());
        thread3.start();
        Thread3 thread4 = new Thread3("通过构造器起名");
        thread4.start();
    }
}

class Thread3 extends Thread {

    public Thread3() {
    }
    //通过重写构造器，通过构造器给线程设置名字
    public Thread3(String name) {
        super(name);
    }

    @Override
    public void run() {
//        Thread3.currentThread().setName("线程1");
        for (int i = 0; i <100 ; i++) {
            System.out.println(Thread3.currentThread().getName());
        }
    }
}


